渗透测试依据什么标准
渗透测试现在依据PTES(penetration testing execution standard)标准,包括前期交互、情报收集、威胁建模、漏洞分析、渗透攻击、后渗透、报告七个阶段。
前期交互阶段:这个阶段的内容是要确定测试的目标系统,也就是前期准备工作。比如说要测试一个网站或者是一个 app,这一个系统不仅仅是这个应用程序,它同时也包括比如中间件、服务器、数据库、waf、ids 等,这些都是程序运行的基础,统称为系统。同时也要确定测试方式,比如说实在客户现场测试还是远程测试,也要确定测试的人数和测试的时间。这些工作是第一阶段前期交互阶段。
情报收集阶段:当前期交互阶段准备好后,就可以开始干活了。主要是搜集一些目标的信息,比如说邮箱地址、公司地址、联系人、DNS 信息、服务器 IP 等等,这些也可以叫被动信息搜集,也就是不和目标产生交互的一种方式。还有一种叫主动信息搜集,也就是产生交互的一种方式,主要是对目标进行探测、扫描、端口和服务等。
威胁建模阶段:通过前面的工作,这时候已经对目标有了一个大概轮廓性的认识,在威胁建模阶段,主要是应用之前已经搜集到的信息,来标识出系统可能存在的漏洞和弱点。很多公司找人开始测试的时候都会画一个数据流图,系统架构,分析系统的每个功能点,这个点可能存在哪些漏洞,列好表格和文档,这个个人觉得可以算作威胁建模阶段的工作。
漏洞分析阶段:这个阶段主要是对系统进行分析,比如数据库类型和版本、服务器类型和版本、中间件类型和版本,当版本过低时,就会存在很多公开的 CVE 漏洞,这些分析可以称作漏洞分析阶段。
渗透攻击阶段:这时候就是真正的渗透阶段,通过前面的信息搜集和漏洞分析后,在这一阶段就需要对之前已经分析可能存在的问题做验证,现在很多工作其实就是做的这一阶段,拿到网站 APP 后就开始测试找问题,这个就属于渗透攻击阶段,除了找到问题外,也需要拿下这个服务器。很多测试都是拿到手就开干,往往都忽略掉了前几个阶段的内容。
后渗透攻击阶段:当拿下程序服务器后,渗透并不算结束,向客户充分的展示漏洞的危害是很重要的,这个阶段很重要,通过拿下一台服务器然后去进行内网渗透,拿下域管理等,是这个阶段要做的工作。
渗透测试报告:最后一个阶段需要向客户证明漏洞从发现到利用的过程和修复方式等,这个阶段也很重要,前面工作做好后,漂亮的呈现出来也是一门技术。